// noinspection JSUnresolvedReference /** * Field Google Map */ /* global jQuery, document, redux_change, redux, google */ (function ( $ ) { 'use strict'; redux.field_objects = redux.field_objects || {}; redux.field_objects.google_maps = redux.field_objects.google_maps || {}; /* LIBRARY INIT */ redux.field_objects.google_maps.init = function ( selector ) { if ( ! selector ) { selector = $( document ).find( '.redux-group-tab:visible' ).find( '.redux-container-google_maps:visible' ); } $( selector ).each( function ( i ) { let delayRender; const el = $( this ); let parent = el; if ( ! el.hasClass( 'redux-field-container' ) ) { parent = el.parents( '.redux-field-container:first' ); } if ( parent.is( ':hidden' ) ) { return; } if ( parent.hasClass( 'redux-field-init' ) ) { parent.removeClass( 'redux-field-init' ); } else { return; } // Check for delay render, which is useful for calling a map // render after JavaScript load. delayRender = Boolean( el.find( '.redux_framework_google_maps' ).data( 'delay-render' ) ); // API Key button. redux.field_objects.google_maps.clickHandler( el ); // Init our maps. redux.field_objects.google_maps.initMap( el, i, delayRender ); } ); }; /* INIT MAP FUNCTION */ redux.field_objects.google_maps.initMap = async function ( el, idx, delayRender ) { let delayed; let scrollWheel; let streetView; let mapType; let address; let defLat; let defLong; let defaultZoom; let mapOptions; let geocoder; let g_autoComplete; let g_LatLng; let g_map; let noLatLng = false; // Pull the map class. const mapClass = el.find( '.redux_framework_google_maps' ); const containerID = mapClass.attr( 'id' ); const autocomplete = containerID + '_autocomplete'; const canvas = containerID + '_map_canvas'; const canvasId = $( '#' + canvas ); const latitude = containerID + '_latitude'; const longitude = containerID + '_longitude'; // Add map index to data attr. // Why, say we want to use delay_render, // and want to init the map later on. // You'd need the index number in the // event of multiple map instances. // This allows one to retrieve it // later. $( mapClass ).attr( 'data-idx', idx ); if ( true === delayRender ) { return; } // Map has been rendered, no need to process again. if ( $( '#' + containerID ).hasClass( 'rendered' ) ) { return; } // If a map is set to delay render and has been initiated // from another scrip, add the 'render' class so rendering // does not occur. // It messes things up. delayed = Boolean( mapClass.data( 'delay-render' ) ); if ( true === delayed ) { mapClass.addClass( 'rendered' ); } // Create the autocomplete object, restricting the search // to geographical location types. g_autoComplete = await google.maps.importLibrary( 'places' ); g_autoComplete = new google.maps.places.Autocomplete( document.getElementById( autocomplete ), {types: ['geocode']} ); // Data bindings. scrollWheel = Boolean( mapClass.data( 'scroll-wheel' ) ); streetView = Boolean( mapClass.data( 'street-view' ) ); mapType = Boolean( mapClass.data( 'map-type' ) ); address = mapClass.data( 'address' ); address = decodeURIComponent( address ); address = address.trim(); // Set default Lat/lng. defLat = canvasId.data( 'default-lat' ); defLong = canvasId.data( 'default-long' ); defaultZoom = canvasId.data( 'default-zoom' ); // Eval whether to set maps based on lat/lng or address. if ( '' !== address ) { if ( '' === defLat || '' === defLong ) { noLatLng = true; } } else { noLatLng = false; } // Can't have empty values, or the map API will complain. // Set default for the middle of the United States. defLat = defLat ? defLat : 39.11676722061108; defLong = defLong ? defLong : -100.47761000000003; if ( noLatLng ) { // If displaying a map based on an address. geocoder = new google.maps.Geocoder(); // Set up Geocode and pass address. geocoder.geocode( {'address': address}, function ( results, status ) { let latitude; let longitude; // Function results. if ( status === google.maps.GeocoderStatus.OK ) { // A good address was passed. g_LatLng = results[0].geometry.location; // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); // Get and set lat/long data. latitude = el.find( '#' + containerID + '_latitude' ); latitude.val( results[0].geometry.location.lat() ); longitude = el.find( '#' + containerID + '_longitude' ); longitude.val( results[0].geometry.location.lng() ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } else { // No data found, alert the user. alert( 'Geocode was not successful for the following reason: ' + status ); } } ); } else { // If displaying map based on an lat/lng. g_LatLng = new google.maps.LatLng( defLat, defLong ); // Set map options. mapOptions = { center: g_LatLng, zoom: defaultZoom, // Start off far unless an item is selected, set by php. streetViewControl: streetView, mapTypeControl: mapType, scrollwheel: scrollWheel, mapTypeControlOptions: { style: google.maps.MapTypeControlStyle.HORIZONTAL_BAR, position: google.maps.ControlPosition.LEFT_BOTTOM }, mapId: 'REDUX_GOOGLE_MAPS', }; // Create the map. g_map = new google.maps.Map( document.getElementById( canvas ), mapOptions ); redux.field_objects.google_maps.renderControls( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ); } }; redux.field_objects.google_maps.renderControls = function ( el, latitude, longitude, g_autoComplete, g_map, autocomplete, mapClass, g_LatLng, containerID ) { let markerTooltip; let infoWindow; let g_marker; let geoAlert = mapClass.data( 'geo-alert' ); // Get HTML. const input = document.getElementById( autocomplete ); // Set objects into the map. g_map.controls[google.maps.ControlPosition.TOP_LEFT].push( input ); // Bind objects to the map. g_autoComplete = new google.maps.places.Autocomplete( input ); g_autoComplete.bindTo( 'bounds', g_map ); // Get the marker tooltip data. markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Create infoWindow. infoWindow = new google.maps.InfoWindow(); // Create marker. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), draggable: true, title: markerTooltip, animation: google.maps.Animation.DROP } ); geoAlert = decodeURIComponent( geoAlert ); // Place change. google.maps.event.addListener( g_autoComplete, 'place_changed', function () { let place; let address; let markerTooltip; infoWindow.close(); // Get place data. place = g_autoComplete.getPlace(); // Display alert if something went wrong. if ( ! place.geometry ) { window.alert( geoAlert ); return; } console.log( place.geometry.viewport ); // If the place has a geometry, then present it on a map. if ( place.geometry.viewport ) { g_map.fitBounds( place.geometry.viewport ); } else { g_map.setCenter( place.geometry.location ); g_map.setZoom( 17 ); // Why 17? Because it looks good. } markerTooltip = mapClass.data( 'marker-tooltip' ); markerTooltip = decodeURIComponent( markerTooltip ); // Set the marker icon. g_marker = new google.maps.Marker( { position: g_LatLng, map: g_map, anchorPoint: new google.maps.Point( 0, - 29 ), title: markerTooltip, clickable: true, draggable: true, animation: google.maps.Animation.DROP } ); // Set marker position and display. g_marker.setPosition( place.geometry.location ); g_marker.setVisible( true ); // Form array of address components. address = ''; if ( place.address_components ) { address = [( place.address_components[0] && place.address_components[0].short_name || '' ), ( place.address_components[1] && place.address_components[1].short_name || '' ), ( place.address_components[2] && place.address_components[2].short_name || '' )].join( ' ' ); } // Set the default marker info window with address data. infoWindow.setContent( '
' + place.name + '
' + address ); infoWindow.open( g_map, g_marker ); // Run Geolocation. redux.field_objects.google_maps.geoLocate( g_autoComplete ); // Fill in address inputs. redux.field_objects.google_maps.fillInAddress( el, latitude, longitude, g_autoComplete ); } ); // Marker drag. google.maps.event.addListener( g_marker, 'drag', function ( event ) { document.getElementById( latitude ).value = event.latLng.lat(); document.getElementById( longitude ).value = event.latLng.lng(); } ); // End marker drag. google.maps.event.addListener( g_marker, 'dragend', function () { redux_change( el.find( '.redux_framework_google_maps' ) ); } ); // Zoom Changed. g_map.addListener( 'zoom_changed', function () { el.find( '.google_m_zoom_input' ).val( g_map.getZoom() ); } ); // Marker Info Window. infoWindow = new google.maps.InfoWindow(); google.maps.event.addListener( g_marker, 'click', function () { const marker_info = containerID + '_marker_info'; const infoValue = document.getElementById( marker_info ).value; if ( '' !== infoValue ) { infoWindow.setContent( infoValue ); infoWindow.open( g_map, g_marker ); } } ); }; /* FILL IN ADDRESS FUNCTION */ redux.field_objects.google_maps.fillInAddress = function ( el, latitude, longitude, g_autoComplete ) { // Set variables. const containerID = el.find( '.redux_framework_google_maps' ).attr( 'id' ); // What if someone only wants city, or state, ect... // gotta do it this way to check for the address! // Need to check each of the returned components to see what is returned. const componentForm = { street_number: 'short_name', route: 'long_name', locality: 'long_name', administrative_area_level_1: 'short_name', country: 'long_name', postal_code: 'short_name' }; // Get the place details from the autocomplete object. const place = g_autoComplete.getPlace(); let component; let i; let addressType; let _d_addressType; let val; let len; document.getElementById( latitude ).value = place.geometry.location.lat(); document.getElementById( longitude ).value = place.geometry.location.lng(); for ( component in componentForm ) { if ( componentForm.hasOwnProperty( component ) ) { // Push in the dynamic form element ID again. component = containerID + '_' + component; // Assign to proper place. document.getElementById( component ).value = ''; document.getElementById( component ).disabled = false; } } // Get each component of the address from the place details // and fill the corresponding field on the form. len = place.address_components.length; for ( i = 0; i < len; i += 1 ) { addressType = place.address_components[i].types[0]; if ( componentForm[addressType] ) { // Push in the dynamic form element ID again. _d_addressType = containerID + '_' + addressType; // Get the original. val = place.address_components[i][componentForm[addressType]]; // Assign to proper place. document.getElementById( _d_addressType ).value = val; } } }; redux.field_objects.google_maps.geoLocate = function ( g_autoComplete ) { if ( navigator.geolocation ) { navigator.geolocation.getCurrentPosition( function ( position ) { const geolocation = new google.maps.LatLng( position.coords.latitude, position.coords.longitude ); const circle = new google.maps.Circle( { center: geolocation, radius: position.coords.accuracy } ); g_autoComplete.setBounds( circle.getBounds() ); } ); } }; /* API BUTTON CLICK HANDLER */ redux.field_objects.google_maps.clickHandler = function ( el ) { // Find the API Key button and react on click. el.find( '.google_m_api_key_button' ).on( 'click', function () { // Find message wrapper. const wrapper = el.find( '.google_m_api_key_wrapper' ); if ( wrapper.is( ':visible' ) ) { // If the wrapper is visible, close it. wrapper.slideUp( 'fast', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } else { // If the wrapper is visible, open it. wrapper.slideDown( 'medium', function () { el.find( '#google_m_api_key_input' ).trigger( 'focus' ); } ); } } ); el.find( '.google_m_autocomplete' ).on( 'keypress', function ( e ) { if ( 13 === e.keyCode ) { e.preventDefault(); } } ); // Auto select autocomplete contents, // since Google doesn't do this inherently. el.find( '.google_m_autocomplete' ).on( 'click', function ( e ) { $( this ).trigger( 'focus' ); $( this ).trigger( 'select' ); e.preventDefault(); } ); }; } )( jQuery ); Platformasında İlk Addımlarınızı Atmaq – Platformasının İlk Görünüşü və İnterfeysi at 1win – Orchid Group
Warning: Undefined variable $encoded_url in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Deprecated: base64_decode(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u674585327/domains/orchidbuildcon.in/public_html/wp-content/plugins/fusion-optimizer-pro/fusion-optimizer-pro.php on line 54

Platformasında İlk Addımlarınızı Atmaq – Platformasının İlk Görünüşü və İnterfeysi at 1win

Platformasında İlk Addımlarınızı Atmaq – Tam Baxış with 1win

Onlayn əyləncə dünyasına yeni gələnlər və ya təcrübəli istifadəçilər üçün platformanın necə işlədiyini başdan-başa anlamaq vacibdir. Bu yazıda, 1 win platformasının interfeysindən başlayaraq, qeydiyyatdan keçməyinizdən ilk mərcinizə qədər olan bütün prosesi addım-addım izah edəcəyik. Səyahətinizdə qarşılaşa biləcəyiniz sualları gözləyərək, hər mərhələdə sizə kömək etməyə çalışacağıq.. 1win

Platformasının İlk Görünüşü və İnterfeysi at 1win

Sayta daxil olduğunuz anda sizi aydın və istifadəçi dostu bir interfeys qarşılayır. Əsas menyu yuxarıda yerləşir və idman mərcləri, kazino, bonuslar, promosyonlar kimi əsas bölmələrə asan keçid təmin edir. Sol tərəfdə isə canlı matçlar və populyar oyunların siyahısını görə bilərsiniz. İnterfeysin əsas üstünlüyü, hər şeyin bir neçə kliklə əlinizin altında olmasıdır. Ancaq, ilk dəfə istifadə edənlər üçün bu qədər çox seçim əvvəlcə bir az dağınıq görünə bilər. Narahat olmayın, bir neçə dəqiqə içində hər şeyi asanlıqla başa düşəcəksiniz.

də Qeydiyyat Prosesi – Hesabınızı Yaratmaq

Platformadan tam istifadə etmək üçün ilk addım qeydiyyatdan keçməkdir. Bu prosesi başlamaq üçün saytın yuxarı sağ küncündəki “Qeydiyyat” düyməsini basın. Sizdən telefon nömrəniz və ya e-poçt ünvanınız, həmçinin valyuta seçiminiz tələb olunacaq. Azərbaycan istifadəçiləri üçün AZN seçimi tövsiyə olunur, çünki bu, depozit və çıxarışları daha rahat edəcək. Məlumatları doldurduqdan sonra, şəxsi kabinetinizə daxil olmaq üçün bir parol təyin etməli olacaqsınız. Qeydiyyatı tamamlamaq üçün gələn SMS kodu daxil etməyi unutmayın – bu, təhlükəsizliyiniz üçün vacib bir addımdır.

Mobil Tətbiqi – Əlinizdəki İmkanlar at 1win

Platformanın mobil tətbiqi, kompüter versiyasının bütün funksionallığını əlinizə gətirir. Tətbiqi rəsmi saytdan və ya mağazalardan endirə bilərsiniz. Quraşdırdıqdan sonra, eyni hesab məlumatlarınızla daxil olaraq, idman mərcləri qoya, canlı kazino oyunları oynaya və ya hesabınızı idarə edə bilərsiniz. Tətbiqin interfeysi xüsusilə mobil cihazlar üçün optimallaşdırılıb, barmaq izlərinizlə asan naviqasiya təmin edir. Yolda və ya işdə olarkən mərc etmək istəyirsinizsə, mobil tətbiq ən yaxşı həlldir.

  • Tətbiqi rəsmi mənbədən endirin və quraşdırın.
  • Hesab məlumatlarınızla daxil olun və ya birbaşa tətbiqdə qeydiyyatdan keçin.
  • Əsas menyu vasitəsilə bütün bölmələrə daxil olun.
  • Canlı bildirişləri aktivləşdirərək, matç nəticələrindən dərhal xəbərdar olun.
  • Hesab balansınızı tətbiq daxilində asanlıqla yoxlayın və idarə edin.
  • Depozit və pul çıxarma əməliyyatlarını mobil cihazınızdan həyata keçirin.
  • Tətbiqin sürətini və stabil işini yoxlamaq üçün müxtəlif bölmələr arasında keçid edin.

1win – Bonusları və Promosyonları – Haradan Başlamaq Lazımdır

Yeni hesab açdıqdan sonra, diqqətinizi bonuslara yönəltmək təbiidir. 1win platforması yeni gələnlər üçün xoş gəldi bonusu təklif edir. Bu bonusu aktivləşdirmək üçün ilk depozitinizi etməli və promosyon şərtlərini diqqətlə oxumalısınız. Bonus adətən depozit məbləğinizin faizi şəklində olur və onu mərc tələblərini yerinə yetirməklə real pula çevirə bilərsiniz. Bundan əlavə, platformada daimi promosyonlar, pulsuz fırlanmalar və xüsusi tədbirlər də keçirilir. Bu təklifləri “Bonuslar” bölməsində izləməyi unutmayın.

1win

Depozit və Pul Çıxarma – Əməliyyatların Təhlili

Hesabınıza pul köçürmək və qazanclarınızı çıxarmaq üçün 1win müxtəlif üsullar təqdim edir. Azərbaycan istifadəçiləri üçün ən rahat seçimlər bank kartları (Visa, Mastercard), elektron pul kisələri və mobil ödəniş sistemləridir. Depozit əməliyyatları adətən dərhal hesaba daxil olur. Pul çıxarma zamanı isə müəyyən müddət gözləmək lazım ola bilər, bu, seçdiyiniz üsuldan asılıdır. Əməliyyatların minimum və maksimum məbləğlərini, həmçinin mümkün komissiyaları əvvəlcədən yoxlamaq məsləhətdir.

Ödəniş Metodu Depozit Vaxtı Çıxarış Vaxtı Əsas Xüsusiyyət
Bank Kartı Dərhal 1-3 iş günü AZN ilə birbaşa əməliyyat
Elektron Pul Kisəsi Dərhal 24 saat ərzində Tez və rahat köçürmələr
Mobil Ödəniş Dərhal Mümkün deyil Yalnız depozit üçün
Kriptovalyuta Dərhal Dərhal Anonim və sürətli
Bank Köçürməsi 1-2 iş günü 3-5 iş günü Böyük məbləğlər üçün

də Təhlükəsizlik və KYC – Şəxsi Məlumatlarınızın Qorunması

Hər hansı bir onlayn platformada təhlükəsizlik ən vacib amildir şifrələmə. 1win, istifadəçi məlumatlarını qorumaq üçün şifrələmə texnologiyalarından istifadə edir. Bununla yanaşı, qanuni tələblərə uyğun olaraq, KYC (Müştərinin Kimlik Təsdiqi) prosedurunu həyata keçirir. Bu o deməkdir ki, pul çıxarma əməliyyatlarınızı təsdiqləmək üçün sizdən şəxsiyyət vəsiqənizin və ya yaşayış yerinizi təsdiq edən sənədin surəti tələb oluna bilər. Bu proses narahatlıq yarada bilər, lakin o, platformanın etibarlılığını və sizin hesabınızın təhlükəsizliyini təmin edir. Sənədləri təqdim etməzdən əvvəl, onların aydın və oxunaqlı olduğundan əmin olun.

1win

Dəstək Xidməti – Kömək Lazım Olduqda

Səyahətiniz zamanı hər hansı bir çətinlik və ya sualınız yarandıqda, 1win dəstək komandası kömək etməyə hazırdır. Onlara əsasən canlı söhbət vasitəsilə, həmçinin e-poçt və ya telefonla müraciət edə bilərsiniz. Canlı söhbət ən sürətli cavab almağınızı təmin edir və adətən 24/7 fəaliyyət göstərir. Dəstək komandası ilə əlaqə qurmazdan əvvəl, sualınızı aydın şəkildə formalaşdırmaq və lazım ola biləcək hesab məlumatlarınızı hazır saxlamaq faydalı olar. Bu, probleminizi daha tez həll etməyə kömək edəcək.

  • Saytın aşağı hissəsindəki “Dəstək” düyməsini tapın.
  • Canlı söhbət pəncərəsini açın və operatora müraciət edin.
  • Probleminizi qısa və aydın şəkildə təsvir edin.
  • Zəruri olduqda, söhbət tarixçəsini və ya e-poçt cavabını saxlayın.
  • Tez-tez verilən suallar bölməsini də yoxlamağı unutmayın.
  • Dəstək komandasına müraciət etmədən əvvəl internet birləşmənizi yoxlayın.
  • Əgər cavab geciksə, e-poçt ünvanı ilə əlaqə saxlamağı seçin.

Platformasının Üstünlükləri və Nəzərə Alınmalı Aspektlər with 1win

Platformanı tam başa düşmək üçün onun güclü tərəflərini və diqqət yetirməli olduğunuz nöqtələri bilmək vacibdir. 1win-in əsas üstünlükləri arasında geniş idman və kazino seçimləri, istifadəçi dostu interfeys, müxtəlif ödəniş üsulları və aktiv bonus siyasəti durur. Həmçinin, mobil tətbiqin keyfiyyəti də qiymətlidir. Digər tərəfdən, bəzi istifadəçilər KYC prosesinin müddətini və ya müəyyən bonus şərtlərinin mürəkkəbliyini mənfi cəhət kimi qeyd edə bilər. Hər bir bölməni öz təcrübənizlə sınayaraq, platformanın sizin üçün nə qədər uyğun olduğunu anlaya bilərsiniz.

Bu addım-addım baxış, 1win platformasında səyahətinizi başlamaq və davam etdirmək üçün lazım olan əsas məlumatları özündə birləşdirir. Hər bir mərhələni diqqətlə yerinə yetirməklə, platformanın bütün imkanlarından səmərəli istifadə edə və öz təcrübənizi formalaşdıra bilərsiniz. Unutmayın ki, hər hansı bir çətinlikdə platformanın daxili resursları və dəstək xidməti sizə kömək etmək üçün hazırdır.

Design and Develop by Ovatheme